8 research outputs found
Planning as Optimization: Dynamically Discovering Optimal Configurations for Runtime Situations
The large number of possible configurations of modern software-based systems,
combined with the large number of possible environmental situations of such
systems, prohibits enumerating all adaptation options at design time and
necessitates planning at run time to dynamically identify an appropriate
configuration for a situation. While numerous planning techniques exist, they
typically assume a detailed state-based model of the system and that the
situations that warrant adaptations are known. Both of these assumptions can be
violated in complex, real-world systems. As a result, adaptation planning must
rely on simple models that capture what can be changed (input parameters) and
observed in the system and environment (output and context parameters). We
therefore propose planning as optimization: the use of optimization strategies
to discover optimal system configurations at runtime for each distinct
situation that is also dynamically identified at runtime. We apply our approach
to CrowdNav, an open-source traffic routing system with the characteristics of
a real-world system. We identify situations via clustering and conduct an
empirical study that compares Bayesian optimization and two types of
evolutionary optimization (NSGA-II and novelty search) in CrowdNav
Towards Run-Time Search for Real-World Multi-Agent Systems
Multi-agent systems (MAS) may encounter uncertainties in the form of
unexpected environmental conditions, sub-optimal system configurations, and
unplanned interactions between autonomous agents. The number of combinations of
such uncertainties may be innumerable, however run-time testing may reduce the
issues impacting such a system. We posit that search heuristics can augment a
run-time testing process, in-situ, for a MAS. To support our position we
discuss our in-progress experimental testbed to realize this goal and highlight
challenges we anticipate for this domain
Towards Self-Adaptive Game Logic
Self-adaptive systems (SAS) can reconfigure at run time in response to
changing situations to express acceptable behaviors in the face of uncertainty.
With respect to game design, such situations may include user input, emergent
behaviors, performance concerns, and combinations thereof. Typically an SAS is
modeled as a feedback loop that functions within an existing system, with
operations including monitoring, analyzing, planning, and executing (i.e.,
MAPE-K) to enable online reconfiguration. This paper presents a conceptual
approach for extending software engineering artifacts to be self-adaptive
within the context of game design. We have modified a game developed for
creative coding education to include a MAPE-K self-adaptive feedback loop,
comprising run-time adaptation capabilities and the software artifacts required
to support adaptation
RDMSim: An Exemplar for Evaluation and Comparison of Decision-Making Techniques for Self-Adaptation
Decision-making for self-adaptation approaches need to address different challenges, including the quantification of the uncertainty of events that cannot be foreseen in advance and their effects, and dealing with conflicting objectives that inherently involve multi-objective decision making (e.g., avoiding costs vs. providing reliable service). To enable researchers to evaluate and compare decision-making techniques for self-adaptation, we present the RDMSim exemplar. RDMSim enables researchers to evaluate and compare techniques for decision-making under environmental uncertainty that support self-adaptation. The focus of the exemplar is on the domain problem related to Remote Data Mirroring, which gives opportunity to face the challenges described above. RDMSim provides probe and effector components for easy integration with external adaptation managers, which are associated with decision-making techniques and based on the MAPE-K loop. Specifically, the paper presents (i) RDMSim, a simulator for real-world experimentation, (ii) a set of realistic simulation scenarios that can be used for experimentation and comparison purposes, (iii) data for the sake of comparison